package com.xmzs.midjourney.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.xmzs.common.mybatis.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;

/**
 * MJ服务器信息配置对象 mj_server
 *
 * @author lixg
 * @date 2023-08-09
 */
@Data
@TableName("mj_server")
public class MjServer implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 服务器ID
     */
    private String guildId;

    /**
     * 频道ID
     */
    private String channelId;

    /**
     * 机器人token
     */
    private String botToken;

    /**
     * 机器人名称
     */
    private String botName;

    /**
     * 用户token
     */
    private String userToken;

    /**
     *
     */
    private String userAgent;

    /**
     * 执行队列最大长度
     */
    private Integer maxExecuteQueueSize;

    /**
     * 最大文件大小
     */
    private Long maxFileSize;

    /**
     * 等待队列最大长度
     */
    private Long maxWaitQueueSize;
    /**
     * 状态：0：禁用，1：可用
     */
    private Integer status;

    /**
     * Discord Api Url
     */
    private String discordApiUrl = "https://discord.com/api/v9/interactions";

    /**
     * Discord 上传图片 Url
     */
    private String discordUploadUrl;

    /**
     * 获取 Discord 上传图片 Url
     */
    public String getDiscordUploadUrl() {
        return "https://discord.com/api/v9/channels/" + channelId + "/attachments";
    }

}
